第一部分:(一)C语言程序设计考试大纲(100分)
一、 考试要求:
1. 对C语言的语法、语义有较好的理解。
2. 能熟练地阅读C源程序,并具有初步分析程序的能力。
3. 初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算法,进而用C语言编写结构良好的面向过程的程序。
4. 通过上机实验,掌握程序的调试和测试方法。
二、 考试内容
第一章 C语言概述
1. 了解C语言的发展、特点;
2. 掌握C程序的基本结构;
3. 掌握TURBO C环境下C程序的上机步骤。
第二章 算法
1. 理解算法的概念;
2. 了解算法的表示方法;
3. 理解组成结构化程序的三种基本控制结构;
4. 了解结构化程序设计的过程;
第三章 数据类型、运算符与表达式
1. 了解C语言中数据类型的分类;
2. 掌握整型、实型、字符型、字符串常量的表示方法;
3. 掌握符号常量的定义和使用;
4. 掌握变量的定义、初始化;
5. 掌握算术、赋值、复合赋值、自增、自减、逗号运算符及表达式;
6. 掌握各类数值型数据间的混合运算。
第四章 输入输出
1. 掌握赋值语句及使用;
2. 了解字符输入输出(getchar函数和putchar函数);
3. 掌握格式输入输出(scanf函数和printf函数)。
第五章 选择结构
1. 掌握关系、逻辑运算符及表达式;
2. 掌握if语句的三种形式;
3. 掌握switch语句及break语句的使用;
4. 要求能编写含有if语句嵌套结构的程序。
第六章 循环结构
1. 掌握while语句及应用;
2. 掌握do-while语句及应用;
3. 掌握for语句及应用;
4. 掌握break语句在循环中的作用;
5. 了解continue语句在循环中的作用;
6. 要求能编写含有二重循环结构的程序。
第七章 数组
1. 掌握一维数组的定义、初始化及元素引用;
2. 掌握二维数组的定义、初始化及元素引用;
3. 掌握字符数组的定义及使用;
4. 了解字符串处理函数;
第八章 函数
1. 掌握函数的定义与调用;
2. 掌握函数调用时的实参与形参的结合;
3. 理解函数原型声明与函数在源程序中的相对位置的关系;
4. 理解函数的嵌套调用和递归调用;
5. 理解局部变量和全局变量的概念及应用;
6. 了解变量的存储类别(auto、static、register、extern);
7. 要求能编写编写多函数结构的程序。
第九章 预处理命令
1. 理解.#define命令的使用;
2. 了解#include 命令的作用。
第十章 指针
1. 掌握地址、指针、指针变量的概念;
2. 掌握指针变量的定义、初始化、赋值;
3. 掌握两个与指针有关的运算符(&和*);
4. 掌握指针和一维数组的关系;
5. 了解指针和二维数组的关系;
6. 掌握指针和字符串的关系;
7. 掌握参数为指针类型的函数应用;
8. 了解指针数组和指向指针的指针。
第十一章 结构体、共用体和枚举类型
1. 掌握结构体类型的定义;
2. 掌握结构体变量、数组、指针变量的定义、初始化及成员引用;
3. 理解参数为结构体变量或结构体指针的函数;
4. 了解共用体的概念及共用体类型的定义;
5. 理解枚举类型的概念及共用体类型的定义;
6. 了解typedef语句的使用。
第十二章 文件
1. 理解C文件的概念;
2. 掌握文件类型指针的概念;
3. 掌握文件的打开和关闭(fopen函数和 fclose函数);
4. 了解文件的字符读写(fgetc函数和fputc函数);
5. 掌握文本文件的格式化读写(fscanf函数和fprintf函数);
6. 了解二进制文件的数据块读写(fread函数和fwrite函数);
7. 了解文件的定位(rewind函数和fseek函数)。
三、考题类型
1. 选择题(概念、语法等)
2. 程序阅读题
3. 程序设计题(或程序填空)
主要参考教材:《C语言程序设计教程》 宗大华、陈吉人编 人民邮电出版社
《C语言程序设计》 谭浩强主编 清华出版社
(二)数据结构考试大纲(100分)
一、考试要求:
1、能分析数据的内在逻辑关系。
2、掌握常用数据结构在计算机中的表示方法。
3、理解数据表示和数据处理之间的关系,理解算法效率的分析方法。
4、能利用常见的数据结构,进行算法设计。
二、考试内容
第1章 引论
1、了解数据结构的基本概念。
2、了解数据的逻辑结构、存储结构、算法的概念。
3、理解数据类型、抽象数据类型的概念。
4、理解时间复杂度、空间复杂度的概念。
第2章 表
1、理解ADT表的概念及基本运算。
2、掌握线性表的顺序存储结构及其运算的实现。
3、掌握线性表的链接存储结构及其运算的实现。
4、理解单链表、循环链表、双向链表的特点。
第3 章 栈
1、掌握栈的定义和基本运算。
2、掌握栈的顺序实现及其运算的实现。
3、掌握栈和队列的链接实现及其运算的实现。
4、掌握栈的应用。
第4章 队列
1、掌握队列的定义和基本运算。
2、掌握队列的顺序实现(循环队列)及其运算的实现。
3、掌握队列的链接实现及其运算的实现。
4、掌握队列的应用。
第5章 递归
1、 理解递归的概念。
2、 了解分治与递归的关系。
3、了解用栈模拟递归技术。
第6 章 排序与选择
1、 理解排序的基本概念(关键字、内外排序、稳定性、时间效率、空间效率)
2、 掌握选择排序的方法(简单选择排序、堆排序)
3、 掌握插入排序的方法(直接插入排序)
4、 掌握交换排序的方法(冒泡排序、快速排序)
5、 了解归并排序的方法。
6、理解各种排序方法的优缺点。
第7章 树
a) 掌握树的存储表示,包括双亲表示法、孩子表示法、左孩子兄弟表示法。
b) 理解二叉树的定义和术语、性质。
c) 掌握二叉树的存储结构,包括顺序存储、二叉链表。
d) 掌握二叉树的遍历算法及其应用。
e) 了解线索树的概念。
第8章 集合
a) 了解以集合为基础的抽象数据类型。
b) 了解集合上的基本运算。
c) 掌握集合的实现(位向量实现、链表实现)。
第9章 符号表
1、 了解符号表的概念。
2、 掌握符号表的数组实现。
3、 理解开散列表和闭散列表的实现。
4、 理解散列函数构造方法以及处理冲突的办法。
5、掌握线性再散列技术。
第10 章
1、 理解抽象数据类型字典及其运算。
2、 掌握二叉搜索树及其实现。
3、AVL 树的定义和性质。
第 11章 优先队列
1、 理解抽象数据类型优先队列及其基本运算。
2、 理解堆的概念及其实现。
3、掌握哈夫曼树及其应用。
第12章 并查集
1、 理解抽象数据类型并查集及其基本运算。
2、 理解抽象数据类型并查集的实现(数组实现和树结构实现)。
3、了解路径压缩技术。
第13章 图
1、 解图的概念、术语。
2、掌握图的存储结构(邻接矩阵、邻接表)
3、掌握图的遍历方法(浓度优先遍历、广度优先遍历)
4、掌握图的最小生成树的算法(prim算法、kruskal算法)。
5、掌握图的单源最短路径的dijkstra算法。
5、了解所有顶点对之间的最短路径floyd算法。
三、考题类型
1、 选择题(概念、存储表示、算法描述)22 %
2、 填空题(概念、存储表示、算法描述)24 %
3、 应用题(综合)30 %
4、算法设计题24 %
主要参考教材:
《数据结构与算法》王晓东编 高等教育出版社 2003年12月
第二部分:操作系统考试大纲(100分)
一、考试要求:
1. 了解操作系统的概念,以及它在计算机系统组成中的地位和作用。
2. 了解操作系统的组成部分,掌握操作系统的基本原理、基本概念。
二、考试内容
第一章 操作系统概述
1. 操作系统概念:
(1) 理解操作系统的定义
(2) 了解操作系统的地位和作用
(3) 理解操作系统的功能
2. 操作系统的类型:
(1) 了解批处理系统的概念和特点
(2) 理解分时系统的概念和特点
(3) 理解实时系统的概念和特点
(4) 了解网络操作系统的概念
3. 操作系统的特征:
了解操作系统的基本特征:并发性、共享性、异步性、虚拟性
4. 操作系统接口:
了解作业级接口(操作接口),程序级接口(系统调用)
第二章 处理机管理
1. 理解进程的定义
2. 理解进程的特征
3. 掌握进程的基本状态及其相互转换:就绪态、阻塞态、运行态
4. 理解进程的组成和进程控制块所包含的主要信息
5. 了解进程队列的概念和形式
6. 掌握进程调度算法思想及其应用:
(1) 先来先服务算法
(2) 时间片轮转法
(3) 优先数算法
(4) 多级队列算法
注:主要掌握前两个算法,后两个算法要求理解算法思想。
7. 了解特权指令的概念
8. 理解CPU的两种运行状态:管态、目态及相互转换
9. 了解作业、作业步和作业控制块的概念
10. 理解作业调度的概念及它与进程调度的关系
11. 了解作业的状态及变化过程
12. 掌握作业调度算法思想及其应用:
(1) 先来先服务算法
(2) 短作业优先法算法
(3) 最高响应比法算法
第三章 存储管理
1. 理解存储管理的功能
内存分配、内存保护、地址映射、内存扩充
2. 理解地址重定位的概念:
静态重定位、动态重定位
3. 了解单一连续分区存储管理及其缺点
4. 固定分区存储管理:
(1)理解固定分区的概念
(2)了解分配和回收的过程
(3)理解采用的重定位方式及其存储保护方法
(4)了解固定分区方式的缺点
5. 可变分区存储管理:
1) 理解可变分区存储管理的基本思想
2) 了解空闲分区表及其内容
3) 了解采用的重定位方式
4) 理解分配和和回收算法:最先适应法、最佳适应法、最坏适应法
5) 理解零头(碎片)的概念:内零头,外零头
6. 分页式存储管理:
(1) 理解分页式存储管理的基本思想
(2) 理解页与块的概念
(3) 理解页表的概念、作用和内容
(4) 掌握地址重定位过程(不含快表结构)
(5) 了解快表的概念和作用
7. 虚拟存储管理:
(1) 理解虚拟存储器的概念
(2) 理解请求分页式存储管理的基本思想
(3) 理解缺页中断的概念及和影响因素
(4) 掌握缺页中断率的计算
(5) 掌握页面淘汰算法的思想和应用:FIFO、LRU、LFU
第四章 设备管理
1. 了解设备的分类
2. 理解设备管理的目标与功能
3. 理解设备独立性的概念
4. 理解独占设备分配算法及相关数据结构:
(1) 先来先服务算法
(2) 优先级算法
5. 共享磁盘的调度:
(1) 了解磁盘结构
(2) 理解磁盘访问时间的构成:查找时间、等待时间和传输时间
(3) 掌握磁盘调度算法的思想及其应用:
先来先服务算法、最短查找时间优先算法、电梯算法、单向扫描算法
注:主要掌握前三种算法及应用。
6. 了解数据传输控制方式:
(1) 程序循环测试方式
(2) 中断方式
(3) DMA方式
(4) 通道方式
7. 了解缓冲技术:
(1) 缓冲的作用
(2) 缓冲的类型:单缓冲、双缓冲、多缓冲、缓冲池
8. 虚拟设备与SPOOLING技术:
(1) 理解虚拟设备的概念
(2) 理解SPOOLING系统的概念及其前提条件
(3) 掌握SPOOLING系统的组成(软件和硬件)
第五章 文件管理
1. 了解文件与文件系统的概念
2. 了解文件的分类
3. 文件的组织结构:
(1) 理解文件的逻辑结构及分类
(2) 理解文件的物理结构及分类
4. 理解文件的存取方式
5. 掌握磁盘存储空间管理方法及计算:
位示图法、空闲区表法、空闲块链接法、成组链接法
注:主要掌握前两个管理方法的计算。
6. 文件管理与目录结构
(1) 了解文件控制块(FCB)的基本信息
(2) 理解多级目录的概念
(3) 了解文件的基本操作
7. 文件的使用
(1) 了解文件共享与保护的概念
(2) 了解文件的保密概念
(3) 了解文件的保护的方法:存取控制矩阵、存取控制表、权限表、口令
8. 文件的操作
了解文件的基本操作:创建、删除、打开、关闭、读、写
第六章 进程的并发
1. 理解进程间的制约关系:互斥、同步
2. 理解信号量的概念
3. 掌握P、V操作的定义
4. 掌握用P、V操作实现进程互斥、同步
5. 理解死锁的概念
6. 理解产生死锁的必要条件
7. 理解解决死锁的策略:预防、避免、检测、恢复(解除)
8. 了解进程间的通信方式:低级通信方式、高级通信方式
第七章 操作系统实例分析
1. 了解UNIX系统及实现管理所采用的相关方法
2. 了解DOS系统及实现管理所采用的相关方法
主要参考教材:
《操作系统》宗大华、宗涛编 人民邮电出版社